home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #14
/
Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO
/
pcboard
/
vwinfo1.zip
/
VWINFO.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1996-02-12
|
8KB
|
467 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Date DATE001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer TINTEGER019(100)
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer TINTEGER023(100)
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String TSTRING012(50)
String TSTRING013(50)
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
Declare Procedure PROC001()
Declare Procedure PROC002()
Declare Procedure PROC003()
Declare Procedure PROC004()
Declare Procedure PROC005()
;------------------------------------------------------------------------------
Delete PPEPath() + "HOLD2.TXT"
Delete PPEPath() + "holdmsg.txt"
BOOLEAN003 = 0
FOpen 2, PPEPath() + "HOLD2.txt", 2, 0
FOpen 3, PPEPath() + "info.cfg", 2, 0
FGet 3, STRING010
INTEGER028 = InStr(STRING010, ";")
STRING010 = Left(STRING010, INTEGER028 - 1)
STRING010 = RTrim(STRING010, " ")
FGet 3, STRING011
INTEGER028 = InStr(STRING011, ";")
STRING011 = Left(STRING011, INTEGER028 - 1)
STRING011 = RTrim(STRING011, " ")
FGet 3, STRING018
INTEGER028 = InStr(STRING018, ";")
STRING018 = Left(STRING018, INTEGER028 - 1)
STRING018 = RTrim(STRING018, " ")
PROC005()
If (BOOLEAN003) Goto LABEL001
STRING007 = "■ VW-INFOSERVE V 1.00 @X0CUNREGISTERED @X07■ "
Goto LABEL002
:LABEL001
STRING007 = "■ VW-INFOSERVE V 1.00 R ■ "
:LABEL002
FGet 3, STRING001
INTEGER028 = InStr(STRING001, ";")
STRING001 = Left(STRING001, INTEGER028 - 1)
STRING001 = RTrim(STRING001, " ")
If (BOOLEAN003) Then
PrintLn "@X0A**** " + STRING001 + " is working for you ****@X07"
Delay 10
Else
PrintLn "@X8C**** This is an unregestered copy !!! Please register. ****@X07 "
Delay 200
Endif
FGet 3, INTEGER030
DATE001 = 0
If (INTEGER030 <> 0) DATE001 = Date() + INTEGER030
FGet 3, STRING009
STRING009 = Left(STRING009, 1)
BOOLEAN002 = 0
If (STRING009 == "Y") BOOLEAN002 = 1
FGet 3, STRING008
FOpen 5, PPEPath() + "temp1.txt", 2, 0
FPutLn 5, " "
FPutLn 5, " "
INTEGER028 = InStr(STRING008, ";")
STRING008 = Left(STRING008, INTEGER028 - 1)
FPutLn 5, STRING007 + STRING008
FPutLn 5, ""
FClose 5
FOpen 7, PPEPath() + "LMSGR.TXT", 2, 0
For INTEGER028 = 0 To 100
FGet 7, INTEGER020
TINTEGER019(INTEGER028) = INTEGER020
Next
FClose 7
If (Exist(PPEPath() + "INFO.log")) Goto LABEL003
FOpen 6, PPEPath() + "INFO.log", 2, 0
Goto LABEL004
:LABEL003
FAppend 6, PPEPath() + "INFO.log", 2, 0
:LABEL004
FGet 3, STRING016
INTEGER028 = 1
INTEGER027 = InStr(STRING016, ",")
While ((Left(STRING016, 1) <> " ") && (INTEGER027 > 0)) Do
INTEGER027 = InStr(STRING016, ",")
TINTEGER023(INTEGER028) = ToInteger(Mid(STRING016, 1, INTEGER027))
STRING016 = Mid(STRING016, INTEGER027 + 1, 100)
INTEGER024 = INTEGER028
INTEGER028 = INTEGER028 + 1
EndWhile
FGet 3, STRING017
INTEGER026 = ToInteger(STRING017)
INTEGER022 = 1
INTEGER001 = 1
INTEGER025 = 0
If (BOOLEAN003) Then
PROC003()
Else
PROC004()
Endif
For INTEGER004 = 1 To INTEGER024
INTEGER001 = 1
INTEGER003 = TINTEGER023(INTEGER004)
PROC001()
FOpen 1, PPEPath() + "holdmsg.txt", 2, 0
:LABEL005
If (Ferr(1)) Goto LABEL006
FGet 1, STRING002
If ((InStr(STRING002, "From") > 0) || (InStr(STRING002, "Subject:") > 0)) Then
If (InStr(STRING002, "From") > 0) FPutLn 2, ""
If (InStr(STRING002, "From") > 0) FPutLn 2, "Local :" + String(INTEGER003)
FPutLn 2, STRING002
Endif
Goto LABEL005
:LABEL006
FClose 1
Delete PPEPath() + "holdmsg.txt"
Next
INTEGER004 = INTEGER004 - 1
INTEGER003 = INTEGER026
INTEGER001 = 1
PROC001()
FOpen 1, PPEPath() + "holdmsg.txt", 2, 0
:LABEL007
If (Ferr(1)) Goto LABEL008
FGet 1, STRING002
If ((InStr(STRING002, "FROM") == 1) || (InStr(STRING002, "Subject:") == 1)) Then
If (InStr(STRING002, "FROM") == 1) FPutLn 2, ""
If (InStr(STRING002, "FROM") == 1) FPutLn 2, "E-MAIL :" + String(15)
FPutLn 2, STRING002
Endif
Goto LABEL007
:LABEL008
FClose 1
FClose 2
FOpen 2, PPEPath() + "HOLD2.txt", 2, 0
INTEGER025 = 0
:LABEL009
If (Ferr(2)) Goto LABEL010
FGet 2, STRING002
If (InStr(STRING002, "Local") > 0) Then
INTEGER027 = InStr(STRING002, ":") + 1
STRING005 = Mid(STRING002, INTEGER027, 4)
FGet 2, STRING003
INTEGER027 = InStr(STRING003, ":") + 2
STRING003 = Mid(STRING003, INTEGER027, 50)
FGet 2, STRING004
INTEGER027 = InStr(STRING004, ":") + 2
STRING004 = Mid(STRING004, INTEGER027, 50)
PROC002()
Endif
Goto LABEL009
:LABEL010
FClose 2
FOpen 2, PPEPath() + "HOLD2.txt", 2, 0
INTEGER025 = 15
:LABEL011
If (Ferr(2)) Goto LABEL012
FGet 2, STRING002
If (InStr(STRING002, "E-MAIL") > 0) Then
INTEGER027 = InStr(STRING002, ":") + 1
STRING005 = Mid(STRING002, INTEGER027, 4)
FGet 2, STRING003
INTEGER027 = InStr(STRING003, ":") + 1
STRING003 = Mid(STRING003, INTEGER027, 100)
INTEGER027 = InStr(STRING003, "!") + 1
STRING003 = Mid(STRING003, INTEGER027, 100)
INTEGER027 = InStr(STRING003, "!") + 1
STRING014 = Mid(STRING003, INTEGER027, 25)
STRING014 = RTrim(STRING014, " ")
STRING015 = "@" + Left(STRING003, INTEGER027 - 2)
STRING003 = STRING014 + STRING015
FGet 2, STRING004
INTEGER027 = InStr(STRING004, ":") + 2
STRING004 = Mid(STRING004, INTEGER027, 50)
PROC002()
Endif
Goto LABEL011
:LABEL012
FOpen 7, PPEPath() + "lmsgr.txt", 2, 0
For INTEGER028 = 0 To 100
FPutLn 7, TINTEGER019(INTEGER028)
Next
FCloseAll
Delete PPEPath() + "TEMP1.TXT"
Delete PPEPath() + "TEMP2.TXT"
Delete PPEPath() + "hold2.TXT"
Delete PPEPath() + "holdmsg.TXT"
Delete PPEPath() + "info.bak"
Log "@X0BVWINFO has completed processing on : " + String(Date()) + " at " + String(Time()), 1
End
;------------------------------------------------------------------------------
Procedure PROC001()
INTEGER022 = TINTEGER019(INTEGER003)
While (INTEGER001 > 0) Do
INTEGER001 = ScanMsgHdr(INTEGER003, INTEGER022, 7, STRING001)
If (INTEGER001 > 0) TINTEGER019(INTEGER003) = INTEGER001 + 1
MsgToFile INTEGER003, INTEGER001, PPEPath() + "holdmsg.txt"
If (BOOLEAN002 == 1) KillMsg INTEGER003, INTEGER001
INTEGER022 = INTEGER001 + 1
EndWhile
EndProc
;------------------------------------------------------------------------------
Procedure PROC002()
If (ToInteger(STRING005) == INTEGER026) Then
BOOLEAN001 = 1
Else
BOOLEAN001 = 0
Endif
STRING004 = Upper(RTrim(STRING004, " "))
STRING006 = TSTRING012(0)
For INTEGER028 = 1 To INTEGER029
If (TSTRING013(INTEGER028) == STRING004) STRING006 = TSTRING012(INTEGER028)
Next
Copy PPEPath() + STRING006, PPEPath() + "temp2.txt"
Append PPEPath() + "temp1.txt", PPEPath() + "temp2.txt"
STRING003 = RTrim(STRING003, " ")
STRING003 = LTrim(STRING003, " ")
If (BOOLEAN003) Then
FPutLn 6, "**** "
FPutLn 6, String(Date()) + " " + String(Time())
FPutLn 6, "IN CONF:" + STRING005 + " SENT TO:" + STRING003 + " FILE : " + STRING006
Endif
Message ToInteger(STRING005), STRING003, STRING001, STRING004, "R", DATE001, 0, BOOLEAN001, PPEPath() + "temp2.txt"
Delete PPEPath() + "TEMP2.txt"
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
INTEGER002 = 0
:LABEL013
If (Ferr(3)) Goto LABEL014
FGet 3, TSTRING012(INTEGER002)
INTEGER027 = InStr(TSTRING012(INTEGER002), ":")
TSTRING013(INTEGER002) = Upper(Left(TSTRING012(INTEGER002), INTEGER027 - 1))
TSTRING012(INTEGER002) = Mid(TSTRING012(INTEGER002), INTEGER027 + 1, 12)
INTEGER002 = INTEGER002 + 1
Goto LABEL013
:LABEL014
INTEGER029 = INTEGER002 - 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC004()
INTEGER002 = 0
For INTEGER021 = 1 To 2
FGet 3, TSTRING012(INTEGER002)
INTEGER027 = InStr(TSTRING012(INTEGER002), ":")
TSTRING013(INTEGER002) = Upper(Left(TSTRING012(INTEGER002), INTEGER027 - 1))
TSTRING012(INTEGER002) = Mid(TSTRING012(INTEGER002), INTEGER027 + 1, 12)
INTEGER002 = INTEGER002 + 1
Next
INTEGER029 = INTEGER002 - 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC005()
STRING026 = ReadLine(PCBDat(), 94)
INTEGER016 = 7
INTEGER017 = 21
INTEGER018 = 14
INTEGER013 = Asc(Mid(STRING010, 1, 1))
INTEGER005 = Asc(Mid(STRING010, 4, 1))
INTEGER015 = Asc(Mid(STRING010, 9, 1))
INTEGER014 = Asc(Mid(STRING010, 5, 1))
INTEGER008 = INTEGER013 + INTEGER005 + INTEGER015 + INTEGER014
INTEGER011 = Asc(Mid(STRING011, 1, 1))
INTEGER012 = Asc(Mid(STRING011, 3, 1))
INTEGER007 = Asc(Mid(STRING011, 7, 1))
INTEGER010 = Asc(Mid(STRING011, 9, 1))
INTEGER009 = INTEGER011 + INTEGER012 + INTEGER007 + INTEGER010
INTEGER008 = ((INTEGER008 + 3843) / INTEGER005) * INTEGER016
INTEGER009 = ((INTEGER009 + 89617) / INTEGER017) * INTEGER014
INTEGER009 = (INTEGER009 + 2155) / INTEGER018
INTEGER006 = ((INTEGER009 + 774325) / INTEGER016) * INTEGER007
INTEGER007 = (INTEGER007 + 465222) / 3
INTEGER007 = INTEGER007 * INTEGER017
STRING019 = String(INTEGER007) + String(INTEGER010)
STRING020 = String(INTEGER006) + String(INTEGER008)
STRING021 = String(INTEGER008) + String(INTEGER007)
STRING022 = Mid(STRING019, 2, 2) + Mid(STRING021, 4, 2)
STRING023 = Mid(STRING020, 3, 1) + Mid(STRING021, 3, 3)
STRING024 = Mid(STRING019, 4, 1) + Mid(STRING020, 3, 1)
STRING025 = STRING022 + STRING023 + STRING024
If ((STRING025 == STRING018) && (STRING011 == STRING026)) Then
BOOLEAN003 = 1
Else
BOOLEAN003 = 0
Endif
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 41 Goto
; 122 Let
; 2 PrintLn
; 32 If
; 10 FOpen
; 1 FAppend
; 6 FClose
; 20 FGet
; 14 FPutLn
; 9 Delete
; 1 Log
; 2 Delay
; 1 Message
; 1 Append
; 1 Copy
; 1 FCloseAll
; 5 EndProc
; 1 MsgToFile
; 1 KillMsg
;
;
; ■ Functions used :
;
; 4 *
; 5 /
; 85 +
; 11 -
; 10 ==
; 2 <>
; 5 <
; 5 <=
; 9 >
; 10 >=
; 23 !
; 12 &&
; 7 ||
; 3 Upper()
; 26 Mid()
; 10 Left()
; 5 Ferr()
; 8 Asc()
; 27 InStr()
; 1 LTrim()
; 7 RTrim()
; 3 Date()
; 2 Time()
; 12 String()
; 1 PCBDat()
; 27 PPEPath()
; 1 ReadLine()
; 1 Exist()
; 4 ToInteger()
; 1 ScanMsgHdr()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 5 For/Next
; 2 While/EndWhile
; 9 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------